package com.hunan.api.catv.entity.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.hunan.api.catv.entity.enums.ColumnEnum;
import org.apache.solr.client.solrj.beans.Field;
import org.springframework.data.annotation.Id;
import org.springframework.data.solr.core.mapping.SolrDocument;

import java.io.Serializable;
import java.util.Date;

/**
 * todo: 字段添加@Field别做更改 不然会导致solr检索库异常
 */
@SolrDocument(collection = "News")
public class NewsVo implements Serializable {
    @Id
    @Field
    private String id;

    private Integer memberId;

    @Field
    private String nickName;

    private String avatarUrl;

    @Field
    private Integer newsId;

    private String cmsId;

    @Field
    private Integer columnId;

    private Integer state;

    private String stateMsg;

    @Field
    private Integer newsType;

    private String newsTypeMsg;

    @Field
    private String title;

    private Long pubTime;

    @Field
    private String content;

    @Field
    private String duration;

    @Field
    private String picMinivideo;

    @Field
    private String vId;

    @Field
    private String vKey;

    @Field
    private Long cTime;

    private String fileSize;

    private ColumnVo column;

    @Field
    private String fileId;

    @Field
    private String url;

    private Integer contentType = ColumnEnum.news.getCode();

    @Field
    private String shareLink;

    @Field
    private String tags;

    private String tagIds;

    private Integer likeNum;

    private Integer playNum;

    private Integer baseLike;

    private Integer basePlay;

    private String like;

    private String play;

    private CommentVo commentVo;

    /**
     * 短视频列表不同来源
     */
    private String newsSource;

    private Integer commentCounts;


    /**
     * 发布时间
     */
    @TableField("release_time")
    private Date releaseTime;

    /**
     * 机审结果 1:正常 5:违规 6:疑似
     */
    @TableField("audit_results_type")
    private Integer auditResultsType;

    /**
     * 腾讯云审核视频内容审核人id
     */
    private String reviewId;

    /**
     * 上传视频比例
     */
    private String videoProportion;

    /**
     * 逻辑删除 0:已删除 1:未删除
     */
    private Integer deleted;


    /**
     * 视频来源 0:pgc  1:ugc
     */
    private Integer videoSource;

    /**
     * pgc视频下是否优先推荐 0:推荐 1:不推荐
     */
    private Integer pgcRecommend;

    /**
     * 位置标签
     */
    private String positio;

    private Integer top;

    /**
     * 点赞状态  0:未点赞 1:点赞
     */
    private Integer likeState;

    public Integer getLikeState() {
        return likeState;
    }

    public void setLikeState(Integer likeState) {
        this.likeState = likeState;
    }

    public Integer getTop() {
        return top;
    }

    public void setTop(Integer top) {
        this.top = top;
    }

    public String getReviewId() {
        return reviewId;
    }

    public void setReviewId(String reviewId) {
        this.reviewId = reviewId;
    }

    public String getVideoProportion() {
        return videoProportion;
    }

    public void setVideoProportion(String videoProportion) {
        this.videoProportion = videoProportion;
    }

    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }

    public Integer getVideoSource() {
        return videoSource;
    }

    public void setVideoSource(Integer videoSource) {
        this.videoSource = videoSource;
    }

    public Integer getPgcRecommend() {
        return pgcRecommend;
    }

    public void setPgcRecommend(Integer pgcRecommend) {
        this.pgcRecommend = pgcRecommend;
    }

    public Integer getAuditResultsType() {
        return auditResultsType;
    }

    public void setAuditResultsType(Integer auditResultsType) {
        this.auditResultsType = auditResultsType;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public String getPositio() {
        return positio;
    }

    public void setPositio(String positio) {
        this.positio = positio;
    }

    public Integer getCommentCounts() {
        return commentCounts;
    }

    public void setCommentCounts(Integer commentCounts) {
        this.commentCounts = commentCounts;
    }

    public String getNewsSource() {
        return newsSource;
    }

    public void setNewsSource(String newsSource) {
        this.newsSource = newsSource;
    }

    public Integer getMemberId() {
        return memberId;
    }

    public void setMemberId(Integer memberId) {
        this.memberId = memberId;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public CommentVo getCommentVo() {
        return commentVo;
    }

    public void setCommentVo(CommentVo commentVo) {
        this.commentVo = commentVo;
    }

    public String getLike() {
        return like;
    }

    public void setLike(String like) {
        this.like = like;
    }

    public String getPlay() {
        return play;
    }

    public void setPlay(String play) {
        this.play = play;
    }

    public Integer getLikeNum() {
        return likeNum;
    }

    public void setLikeNum(Integer likeNum) {
        this.likeNum = likeNum;
    }

    public Integer getPlayNum() {
        return playNum;
    }

    public void setPlayNum(Integer playNum) {
        this.playNum = playNum;
    }

    public Integer getBaseLike() {
        return baseLike;
    }

    public void setBaseLike(Integer baseLike) {
        this.baseLike = baseLike;
    }

    public Integer getBasePlay() {
        return basePlay;
    }

    public void setBasePlay(Integer basePlay) {
        this.basePlay = basePlay;
    }

    public String getShareLink() {
        return shareLink;
    }

    public void setShareLink(String shareLink) {
        this.shareLink = shareLink;
    }

    private static final long serialVersionUID = 1L;

    public Integer getNewsId() {
        return newsId;
    }

    public void setNewsId(Integer newsId) {
        this.newsId = newsId;
        this.id = newsId.toString();
    }

    public String getCmsId() {
        return cmsId;
    }

    public void setCmsId(String cmsId) {
        this.cmsId = cmsId == null ? null : cmsId.trim();
    }

    public Integer getColumnId() {
        return columnId;
    }

    public void setColumnId(Integer columnId) {
        this.columnId = columnId;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getStateMsg() {
        return stateMsg;
    }

    public void setStateMsg(String stateMsg) {
        this.stateMsg = stateMsg;
    }

    public Integer getNewsType() {
        return newsType;
    }

    public void setNewsType(Integer newsType) {
        this.newsType = newsType;
    }

    public String getNewsTypeMsg() {
        return newsTypeMsg;
    }

    public void setNewsTypeMsg(String newsTypeMsg) {
        this.newsTypeMsg = newsTypeMsg;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title.trim();
    }

    public Long getPubTime() {
        return pubTime;
    }

    public void setPubTime(Long pubTime) {
        this.pubTime = pubTime;
    }

    /*
    public String getSecondary() {
        return secondary;
    }

    public void setSecondary(String secondary) {
        this.secondary = secondary == null ? null : secondary.trim();
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public Integer getArticleType() {
        return articleType;
    }

    public void setArticleType(Integer articleType) {
        this.articleType = articleType;
    }

    public Boolean getIsOrg() {
        return isOrg;
    }

    public void setIsOrg(Boolean isOrg) {
        this.isOrg = isOrg;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public String getKeyWords() {
        return keyWords;
    }

    public void setKeyWords(String keyWords) {
        this.keyWords = keyWords == null ? null : keyWords.trim();
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source == null ? null : source.trim();
    }
*/
    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content == null ? null : content.trim();
    }

    public String getDuration() {
        return duration;
    }

    public void setDuration(String duration) {
        this.duration = duration;
    }

    public String getPicMinivideo() {
        return picMinivideo;
    }

    public void setPicMinivideo(String picMinivideo) {
        this.picMinivideo = picMinivideo == null ? null : picMinivideo.trim();
    }

    public String getvId() {
        return vId;
    }

    public void setvId(String vId) {
        this.vId = vId == null ? null : vId.trim();
    }

    public String getvKey() {
        return vKey;
    }

    public void setvKey(String vKey) {
        this.vKey = vKey == null ? null : vKey.trim();
    }


    public Long getcTime() {
        return cTime;
    }

    public void setcTime(Long cTime) {
        this.cTime = cTime;
    }

    public String getFileSize() {
        return fileSize;
    }

    public void setFileSize(String fileSize) {
        this.fileSize = fileSize;
    }

    public ColumnVo getColumn() {
        return column;
    }

    public void setColumn(ColumnVo column) {
        this.column = column;
    }

    public String getFileId() {
        return fileId;
    }

    public void setFileId(String fileId) {
        this.fileId = fileId;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Integer getContentType() {
        return contentType;
    }

    public void setContentType(Integer contentType) {
        this.contentType = contentType;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public String getTagIds() {
        return tagIds;
    }

    public void setTagIds(String tagIds) {
        this.tagIds = tagIds;
    }

}